//
//  SoundTool.swift
//  单例
//
//  Created by I Do Believe on 15/11/26.
//  Copyright © 2015年 apple11. All rights reserved.
//

import UIKit

class SoundTool: NSObject {

    
    /*
    +(instancetype)sharedInstance {
    static id instance;
    
    //执行一次创建
    static dispatch_once_t onceToken;
    //在还没执行dispatch_once_t时，onceToken的值为0
    NSLog(@"OC onceToken: %zd",onceToken);
    dispatch_once(&onceToken,^{
    instance = [[NetworkTool alloc] init];
    });
    return instance;
    }
    
    */
    
//    static var instance: SoundTool?
//    static var onceToken: dispatch_once_t = 0
//    //类方法
//    class func sharedInstance( ) -> SoundTool {
//        //执行一次创建
//        //尾随闭包   把闭包放到括号外  写法的改变而已，没有实质区别
//        print("swift onceToken:\(onceToken)")
//        dispatch_once(&onceToken) { () -> Void in
//            instance = SoundTool( )
//        }
//        return instance!
//    }
    
    //属性    在对象初始化时会调用
//    static let instance: SoundTool = SoundTool( )
//    //类方法
//    class func sharedInstance( ) -> SoundTool {
//        return instance

      //属性    在对象初始化时会调用
    static let sharedInstance : SoundTool  = SoundTool( )
    override init() {
        super.init()
        //额外的操作
        print("额外的操作")
    }
    
    
}
